﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.TCPFTracker.ManipulatorExtend
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using System.Collections;
using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands.TCPFTracker;

internal class ManipulatorExtend
{
  private string _name;
  private TxManipulator _manipulator;
  private TxColor _color;
  private ArrayList _points;

  public ManipulatorExtend(string name, TxManipulator manip, ArrayList points, TxColor color)
  {
    this._name = name;
    this._manipulator = manip;
    this._points = new ArrayList((ICollection) points);
    this._color = color;
  }

  public ManipulatorExtend(string name) => this._name = name;

  public string Name => this._name;

  public TxManipulator Manipulator
  {
    get => this._manipulator;
    set => this._manipulator = value;
  }

  public TxColor Color
  {
    get => this._color;
    set => this._color = value;
  }

  public ArrayList Points
  {
    get => this._points;
    set => this._points = new ArrayList((ICollection) value);
  }

  public override bool Equals(object obj)
  {
    return obj != null && obj is ManipulatorExtend && this.Name == ((ManipulatorExtend) obj).Name;
  }

  public override int GetHashCode() => this.Name != null ? this.Name.GetHashCode() : -1;
}
